package com.wut.clock.service;

import com.wut.clock.common.api.CommonPage;
import com.wut.clock.entity.SysRole;

/**
 * @author ZYH
 * @unit D9Lab
 * @description 角色接口
 * @date 2022/5/30 15:27
 */
public interface IRoleService {

    /**
     * 根据用户id查询对对应的角色
     * @param userId 用户id
     * @return 角色
     */
    SysRole getRoleByUserId(Integer userId);

    /**
     * 增加角色
     * @param role 角色实体
     * @return >0 成功
     */
    int insertOneRole(SysRole role);

    /**
     * 根据角色id删除角色
     * @param roleId 角色id
     * @return >0删除成功
     */
    int deleteRole(Integer roleId);

    /**
     * 更新角色信息
     * @param role 角色
     * @return >0更新成功
     */
    int updateRole(SysRole role);

    /**
     * 获取所有角色
     * @param pageNum 页码
     * @param pageSize 页尺寸
     * @param name 角色名
     * @param nickName 角色昵称
     * @return 角色列表
     */
    CommonPage<SysRole> getRoleList(Integer pageNum, Integer pageSize, String name, String nickName);

    /**
     * 为某个角色指定菜单
     * @param roleId 角色id
     * @param menuIdString 菜单id字符串
     * @return 结果
     */
    int assignMenuRole(Integer roleId, String menuIdString);
}
